package Modulos;


//import Modulos.Persona.ModuloPersona;
import entidates.IEntidad;
import interfaces.IManejador;
import java.awt.Component;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Overpower
 */
public abstract class Modulo
{
    public enum ETipoModulo
    {
        MOD_PERSONA,
        MOD_CARRERA,
        // añadir modulos por sobre los 2 ultimos, que son de control
        //----------------
        MOD_MAX, // ordinal maximo 
        MOD_NONE        
    }
 
    protected ETipoModulo _tipo = ETipoModulo.MOD_NONE;
    
    protected IManejador _manejador = null;
    protected String _nombre = "";
    protected boolean _activada = false;

    public Modulo(){}

    protected abstract void initComponents();
    public abstract String Modificar( IEntidad _ent );
    public abstract String Agregar( IEntidad _ent);
    public abstract String Eliminar( IEntidad _ent );
    public abstract void Alta( );
    public abstract void Baja( );
    public abstract void Seleccion( int _idx );
    public abstract Component getVista();
  
    public String GetNombre()
    {
        return _nombre;
    }
    
    public ETipoModulo GetTipo()
    {
        return _tipo;
    }
    
}
